Thready a Synchronize (WAS:Proc mi nezafunguje try->finally v threadu)

Otázka od: Ing. Jiri Sokol

4. 10. 2004 10:50

Ahoj
Dekuji Vam za odpovedi k memu problemu s thready.
Muzete mi, prosim, pomoci tedy vyresit muj problem, at je to udelano "ciste"?
V execute toho threadu bych nemel nakonec volat Suspend, ale nejak jinak
prerusit jeho beh... JAK?
Ja proste potrebuju, aby se kod toho threadu provedl jenom jednou, pak se uspal
a cekal na dalsi impuls ke spusteni.

Dalsi vec je ta Synchronize - co s tim? Pochopitelne, ze me napadlo to co jste
psali, ale koukal jsem to zdroju JVCL, tam byl nejaky timer jako thread a ten
to delal podobne.
OK, je to spatne a chi to zmenit.
K cemu presne tedy metody Synchronize slouzi - domnivam se, ze jde hlavne o
synchronizaci promennych. Vsech? Co kdyz mam promenne, definovane pro dany
thread? Musim jejich obsah synchronizovat s aplikaci kdyz potrebuju, aby se na
tyto promenne mohla aplikace kouknout?
Samotny vypocet bych mohl dat bez Synchronizace, ale chtel jsem v prubehu
zobrazovat co se prave deje a to jsem delal pres Application.Hint, pak mam
statusbar, ktery tyhle hlaseni zobrazuje. Potrebuju k tomuhle Synchronize nebo
ne? Jestli jo, tak jak to udelat, abych se synchronize vyhnul?
Diky za napady.
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol@seznam.cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.5.0
programator amater

Odpovedá: Petr Fejfar

4. 10. 2004 10:37

         threadu)
Ing. Jiri Sokol wrote:

> V execute toho threadu bych nemel nakonec volat Suspend, ale nejak
> jinak prerusit jeho beh... JAK?

Tak, ze ho do stavu suspend prevedes inherentne pomoci WaitFor...(),
jak jsem ti radil pred mesicem.

pf